package com.wangxi.service.impl;

//import com.github.pagehelper.PageHelper;
//import com.github.pagehelper.PageInfo;
//import com.pcy.movierecommendation.core.constants.ErrorMessages;
//import com.pcy.movierecommendation.core.utils.DateFormatUtil;
//import com.pcy.movierecommendation.core.utils.EncryptionUtil;
//import com.pcy.movierecommendation.core.utils.IdWorkerUtil;
//import com.pcy.movierecommendation.core.utils.RedisUtil;
//import com.pcy.movierecommendation.dao.MovieUserDao;
//import com.pcy.movierecommendation.entity.movieUser.MovieUser;
//import com.pcy.movierecommendation.service.MovieUserService;
import com.wangxi.core.utils.EncryptionUtil;
import com.wangxi.entity.PlantsUser;
import com.wangxi.mapper.PlantsUserMapper;
import com.wangxi.service.PlantsUserService;
//import org.apache.commons.collections.CollectionUtils;
//import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * (MovieUser)表服务实现类
 *
 */
@Service("PlantsUserService")
public class PlantsUserServiceImpl implements PlantsUserService {

    private final Logger logger = LoggerFactory.getLogger(getClass());

//    @Resource
//    RedisUtil redisUtil;
    @Resource
    private PlantsUserMapper plantsUserMapper;

    /**
     * 通过ID查询单条数据
     *
     * @param userId 主键
     * @return 实例对象
     */
    @Override
    public PlantsUser queryById(Integer userId) {
        return this.plantsUserMapper.queryById(userId);
    }

    /**
     * 用户通过账号和密码登录
     *
     * @param account  账号
     * @param password 密码
     * @return 实例对象
     */
    @Override
    public PlantsUser login(String account, String password) {
        // 使用 SHA-384加盐 算法对用户密码进行加密处理。
        String encryptionPassword = EncryptionUtil.sha384HashWithSalt(password);
        //将加密后的密码和用户账号传入 movieUserDao.login 方法中进行登录验证操作。
        // movieUserDao.login 方法用于与数据库进行连接，对用户账号和密码进行数据库中的匹配。
        // 如果匹配成功，则返回对应的用户信息 MovieUser 对象；如果匹配不成功，则返回 null 值。
        return this.plantsUserMapper.login(account, encryptionPassword);
    }

    @Override
    public PlantsUser login2(String account, String password) {
        return null;
    }
}